home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / modelers / geomview / source.lha / Geomview / CHANGES next >
Text File  |  1993-11-09  |  25KB  |  692 lines

  1. 1.4.1  November 9, 1993
  2.  
  3. Distribution includes both NeXT and SGI versions.
  4.  
  5.     New modules included:
  6.     crayola  (SGI and NeXT) coloring program
  7.     warp     (SGI and NeXT)    interactive object warping
  8.     ndviewer (SGI only)    N-dimensional viewer (currently only 4D objects)
  9.     cplxview (SGI only)    graphs of complex functions
  10.     clipboard (SGI only)    cut, copy and paste objects
  11.     drawbdy       (SGI and NeXT) find and draw the boundary of an object
  12.     flythrough (SGI only)    Not Knot hyperbolic 
  13.     gvclock   (SGI and NeXT) 3D clock, demonstrates real-time motion
  14.     maniview  (SGI only)    3-manifold viewer
  15.     trigrp      (SGI only)    explore triangle symmetry groups
  16.     plus source for all the existing modules.
  17.  
  18.  
  19. Documentation:
  20.     New manual!  doc/geomview.tex (TeX version) and doc/geomview-*
  21.     (GNU texinfo version) explain Geomview in far more detail than
  22.     previous documentation.  They strictly describe Geomview on the Iris,
  23.     but much also applies to the Next.
  24.         
  25. Configuration:
  26.     SITE makefile variable selects one of several site-specific
  27.     configuration settings, namely installation directories for binaries
  28.     (BINDIR), manual pages (MANDIR), and Mathematica scripts
  29.     (MMAPACKAGEDIR).  Settings stored in
  30.     makefiles/mk.site.{default,private,public}.  ``make instprivate''
  31.     and ``make instpublic'' are ``make install'' variants that use the
  32.     latter two.
  33.  
  34.     Prevent 'make' from failing if C++ compiler isn't present; just don't
  35.     compile the C++ programs.
  36.  
  37.  
  38. Geomview, General:
  39.  
  40.     Extend implementation of conformal transformations.
  41.     Conformal mode, which had been allowed only in hyperbolic space,
  42.     is now also meaningful in Euclidean space, where it amounts to
  43.     inversion in the unit sphere, and spherical space, where it's
  44.     a stereographic projection from the 3-sphere into Euclidean 3-space.
  45.     New command (set-conformal-refine).
  46.  
  47.     Read both ~/.geomview and ./.geomview, in that order.
  48.  
  49.     New -noinit command-line option suppress reading all .geomview files.
  50.  
  51.     Implement Olaf Holt's design for N-D viewing by projection.
  52.     New commands (ND-axes) (ND-xform) (ND-color).
  53.     (Invoked by ndviewer and cplxview modules.)
  54.  
  55.     Keep track correctly of which window the mouse is in.
  56.     Had sometimes gotten confused if a window was uncovered.
  57.  
  58.     Allow disabling "override" status.  New Override button & (ap-override)
  59.     command selects whether appearance controls should suppress
  60.     objects' own settings, or just provide default values.
  61.  
  62.     New (camera-prop) command allows setting the object used to show cameras
  63.     when "Draw Other Cameras" selected (e.g. see file "camera-frustum").
  64.  
  65.     Mention Next variants to mouse usage (alt + left = middle, etc.)
  66.     in Help message.
  67.  
  68. SGI Interface:
  69.     Add transparency controls to materials panel.
  70.     (No transparency supported on NeXT.)
  71.  
  72.     Color picker has numeric RGB input.
  73.  
  74.     Buttons for motion controls (Obscure) and Override control (Appearance).
  75.  
  76.     Add focal length and software shading controls to camera panel.
  77.     "vl" keyboard shortcut sets camera focal length.
  78.  
  79.     Limit picked projected Z values to -1 .. +1, so we can only pick things
  80.         that lie between the clipping planes!
  81.  
  82.  
  83. Motions:
  84.     Really stop motions of objects when we reset them.
  85.  
  86.     Controllable inertia, constrained motion, own-coordinate-frame motion
  87.     ('ui', 'uc', 'uo' key sequences).
  88.  
  89.     Make more use of the ``focal plane''.  Look At button sets focal distance.
  90.     Shift-rightmouse-click selects a focal point; also becomes center of
  91.     rotation.  Translations are interpreted as at the focal plane,
  92.     so objects at the focal distance should move with the mouse.
  93.  
  94.     Use ordinary, no longer scaled, translations.
  95.         Let the scaling be based on the frame camera's focal length,
  96.         set e.g. by Look or etc. operations.
  97.  
  98.     Pay attention to window aspect ratio and camera focal length when moving.
  99.  
  100.     Add more parameters to (look-encompass-size ...) indicating desired margins
  101.     for setting near and far clipping planes.
  102.  
  103.  
  104. Geomview, Graphics:
  105.     Pay proper attention to override bits in Next and RenderMan drawing
  106.     libraries; ensures that objects will be the color chosen on the panel.
  107.  
  108.     Position SGI windows in exactly the specified place.
  109.  
  110.     Draw degenerate polylist (OFF) objects correctly for Next and RenderMan:
  111.     use points and lines where they have 1- or 2-vertex "faces".
  112.  
  113.     Correctly handle lights whose positions don't lie within the model space
  114.     (as the default lights are) in hyperbolic & spherical shaders.
  115.  
  116.  
  117. Geomview, Saving:
  118.     Save window positions when saving cameras in command form.
  119.     Use a unique name when saving geom objects as commands; avoids the problem
  120.     of saving as object X and having it automatically renamed X<n> in case
  121.     of conflict, making further commands ineffective.
  122.  
  123. Geomview, RenderMan:
  124.     Include both NeXT and SGI (etc) standard shader directories; we don't
  125.         know where .rib files will be rendered.
  126.     RenderMan saving no longer enforces adding four-digit numeric suffix.
  127.  
  128. Geomview, Communications:
  129.     GCL command files containing multiple commands now work sensibly:
  130.     geomview always reads entire contents, one command per display loop.
  131.     (Use (progn ... ) to swallow all at once.)
  132.  
  133.     emodule-run command: all e-module directories are appended to $PATH
  134.     when the program is started, so emodule-run may mention module programs
  135.     without requiring full pathnames.
  136.  
  137.     Both SGI and NeXT versions can read from either named pipes or UNIX-domain
  138.     sockets; -M[gc][sp] command-line option specifies data type and
  139.     communications mechanism.
  140.  
  141.  
  142.     Software shading now implements fog; density set by lighting attenconst.
  143.  
  144.     External-module programs are invoked by their full path names when possible.
  145.  
  146.     Allow L)ooking at cameras.
  147.  
  148.     Allow reading either geometry or commands from either UNIX-domain sockets
  149.     or named pipes, using '-M[gc][sp] name' command-line option.
  150.     (camera-prop) command specifies how to draw other cameras.
  151.     (cursor) command (for SGI) controls GL cursor and/or loads from .pbm file.
  152.     (setenv) command allows setting environment of e.g. external modules.
  153.  
  154.     Assorted bug fixes.
  155.  
  156.  
  157. Utility programs:
  158.  
  159.     New programs ucdtooff, anytoucd convert AVS "UCD" format to/from OOGL.
  160.  
  161.     Anytooff accepts (multiple) arguments, and combines their contents.
  162.  
  163.  
  164. Mathematica to OOGL software:
  165.     Improve installation document; be more robust about locating math2oogl,
  166.     geomview, etc. executables, and warning the user if we can't.
  167.     Allow specifying user name when displaying on remote host.
  168.     Don't fail if graphics contain complex values (just plot real part).
  169.     New BezierPlot[] in BezierPlot.m allows plotting Bezier patches directly.
  170.  
  171.  
  172. FORMS:
  173.     Include FORMS-2.0-PATCHES, all differences from FORMS 2.0 release.
  174.     Change summary:
  175.  
  176.   FORMS Library:
  177.     New color-picker module.
  178.  
  179.     New fouraxis module, derived from positioner.c.
  180.     Allows specifying a direction in 4-space.
  181.  
  182.     Be more intelligent about frozen forms: only redraw if
  183.     some object changed while the form was frozen.
  184.     Use the sign bit of the form->frozen field to tell.
  185.  
  186.     Add '@I' prefix to embed FL_ICON_STYLE (symbol font) items in a browser.
  187.  
  188.     Tie mouse (x,y) position to all mouse clicks.  Use this to ensure that we
  189.     always register a mouse click in its correct position, not the place where
  190.     the mouse lies when we get a chance to read it!
  191.     Click position is fed to the next caller to ask for the mouse position
  192.     after a click; later calls read the live mouse position.  Seems to work.
  193.  
  194.     Cache stuff as much as possible.  Don't load fonts or read color map unless
  195.     (until) we actually need them.  Might allow programs to start up at
  196.     a reasonable speed, since the SGI font manager is slower in 4.0.x than 3.3.
  197.  
  198.     Handle Icon font usefully -- use the Symbol font, and allow it to be scaled.
  199.     Accommodate new font-sizing rule in IRIX 4.0.5: fonts are now
  200.     scaled to constant real size rather than constant size in pixels.
  201.     On IRIX 4.0.5 or greater, we discover the error this will cause and
  202.     scale all font sizes by its reciprocal (!).
  203.  
  204.     Optimize drawing bitmaps.  Cache fl_getmcolor() values; use pointers to
  205.     scan input & output pixel arrays.  ~sixfold speedup.  Save 64K data size.
  206.  
  207.   FORMS designer:
  208.     Add fdesign2c, batch-mode translator from *.fd to *.{c,h}.
  209.     Added colorwheel and fouraxis objects.
  210.  
  211.  
  212. 1.3.2    March 1, 1993
  213.  
  214.     Fix RenderMan file saving bug.
  215.     New OOGL classes: discrete groups and spheres.
  216.     Underlying support for stereo added.
  217.     Fix replace world bug.
  218.     Rotate about CENTERID, not the target geom, in orbit mode.
  219.     Add slow-motion controls (invoked with Shift key).
  220.     Scaled translation procedures now take world size into account, 
  221.       not distance from target object. Use this mode in fly and orbit.
  222.         Add "emodule-defined" command: returns the given emodule's
  223.       shell command (& tests whether any such is defined).
  224.     Add cull-backface as a command.
  225.  
  226. 1.3.1    January 31, 1993
  227.  
  228.     IMPORTANT: the "pick" command has changed completely and is
  229.     incompatible with previous versions.  If you have an external
  230.     module that uses the "pick" command you should change it to
  231.     use the new "interest" command instead.  Send us email
  232.     (software@geom.umn.edu) if you need assistance.
  233.  
  234.     Change the way system-dependent information is specified;
  235.     everything is now specified in the "geomview" shell script
  236.     which sets environment variables and then invokes the binary.
  237.     Nothing that is system-dependent (e.g. pathnames) are compiled
  238.     in; not even default values.
  239.  
  240.     External modules now appear in alphabetical order in the
  241.     applications browser.  Geomview finds out about them via files
  242.     named .geomview-* in the modules directory, rather than in the
  243.     system-wide .geomview file.  So there is no need to edit the
  244.     system-wide .geomview when installing a module now.  See
  245.     man/cat1/geomview.1 for more information on how to install a
  246.     module.
  247.  
  248.     The space browser is now on the main panel.
  249.  
  250.     Different models of hyperbolic space are now available: virtual
  251.     (the insider's view of the projective model), projective (outsider's
  252.     view), and conformal-ball.  The conformal-ball model is only partially
  253.     implemented; it works only for polylist (OFF) objects and only in
  254.     constant-color and smooth-shading modes (not in flat-shading mode).
  255.     The model is per-camera attribute and is settable via a browser in
  256.     the camera panel.
  257.  
  258.     The camera, when drawn, now fits inside the unit sphere.
  259.  
  260.     Fixed RenderMan saving bug: file is now opened properly.
  261.     
  262.     "Fly" mode now uses scaled z-translation.
  263.  
  264.     A color wheel replaces the RGB sliders for picking colors.
  265.  
  266.     Several "look" functions added for positioning a camera to look at
  267.     an object.  "Look At [L]" button added to tools panel positions
  268.     the current camera to place the target object nicely in the view.
  269.     Look At and look-encompass compute and use a bounding sphere for the
  270.     object rather than using its bounding box.
  271.  
  272.     Add "Orbit [o]" mode.  Like fly mode, but rotates the camera
  273.     about the center of the selected object.
  274.  
  275.     Better error reporting; syntax errors in input files are now reported
  276.     with messages including the input line where the error was detected.
  277.  
  278.     Picking code improved; picking now works in more cases than before.
  279.     Still broken if any part of any object is behind the camera plane.
  280.  
  281.     Null geoms now allowed, denoted { }.
  282.  
  283.     Added "interest" command which allows external modules to
  284.     express interest in a command; the module is then notified
  285.     whenever geomview executes the command.  Useful for modules
  286.     that need to know when things in geomview happen.
  287.  
  288.     Reduced sensitivity to accidental mouse twitches -- it's now
  289.     easier to make an object stop moving.
  290.  
  291.     Motion now proceeds wrt real elapsed time.  transform-incr
  292.     allows specifying rate of motion.
  293.     
  294.     Control over when commands are executed: sleep-for, sleep-until,
  295.     clock, set-clock, time-interest commands.
  296.  
  297.     A "load" command simplifies reading files.
  298.  
  299.     Added stereo viewing support: hardware, crosseyed, red/cyan modes.
  300.     (An external module is needed to control it.)
  301.  
  302.     Lights may be specified (from command language only) in camera or
  303.     object coordinates, as well as world coordinates.  Allows depth cueing.
  304.  
  305.     "emodule-transmit" command allows sending messages to running modules.
  306.  
  307.     "real-id" gives an object's canonical name.
  308.  
  309.     "all" gives a list of all items (geometry, emodules, ...) of a kind.
  310.  
  311.     "soft-shader" selects whether to use new software shading.
  312.     New "v~" keyboard shortcut does, too.
  313.  
  314.     "echo" can be used to print results of evaluating lisp expressions.
  315.  
  316.     Now reads all commands from command files; used to sometimes read
  317.     only the first command.
  318.  
  319.     Modules may continue sending messages after being killed.
  320.     Modules receive SIGHUP signal when killed.
  321.  
  322.  
  323. 1.2.3    October 22, 1992
  324.  
  325.    Geomview:
  326.     Add outside-hyperbolic space mode ("mo" keyboard shortcut).
  327.     "mh" still selects a view inside hyperbolic space.
  328.  
  329.     A "spherical" language keyword ``(space spherical)'' is now recognized.
  330.     Implementation of spherical motion is improved.
  331.  
  332.     Do a better job of adjusting camera setup when switching spaces.
  333.  
  334.     The first directory in the "Files" browser is initially selected,
  335.     so its files are visible when the panel is first displayed.
  336.     (This directory is the first one given to "load-path", by default ".").
  337.  
  338.     A new "Vects" button and "aV" keyboard shortcut select whether
  339.     vect objects (lines and points) are visible; they're now controlled
  340.     separately from polygon edges.
  341.  
  342.     Make hyperbolic translation behave better when the center-of-motion
  343.     is literally "target" (the default); such translations are now along
  344.     an axis through the origin, avoiding spurious rotation.
  345.     If "center" is anything else, it's taken at face value.
  346.  
  347.     Use color to indicate status of Appearance-panel buttons:
  348.     highlighted yellow when true, gray when false.
  349.     Buttons lie flat on the panel if they've never been changed,
  350.     and depressed if they have been.  (The "Revert [ax]" button restores
  351.     the never-set status, and shows objects as they naturally appear.)
  352.  
  353.     Add half-baked transparency: "aT" keyboard sequence.
  354.  
  355.     Fix supersensitive behavior of Applications browser;
  356.     running modules now appear in boldface red.
  357.  
  358.     Add "-nopanels" command-line option.
  359.  
  360.     trigrp:
  361.     Switch between euclidean and hyperbolic space when changing groups.
  362.  
  363.     FORMS library:
  364.     Adapt to new IRIX 4.0.5 font manager's sizing behavior.
  365.     Since FORMS panels are fixed in pixel units, we rescale fonts
  366.     to be constant pixel size rather than 4.0.5's constant real size.
  367.     [Still works on older systems.]
  368.  
  369.     External modules in general:
  370.     A list of all external-module definitions is now kept in
  371.     "data/.geomview-modules"; it's automatically updated when
  372.     new modules are installed in the geomview binary directory.
  373.     It's also safe to edit this file by hand.
  374.  
  375.     General distribution:
  376.     Distributed files are now writable by the owner, to make it
  377.     easier to apply upgrades.  Once this 1.2.3 distribution package
  378.     is installed, it should be possible to install future distributions
  379.     without being the superuser, since "tar" will be able to overwrite
  380.     the old files.
  381.  
  382.  
  383. 1.2.2    October 3, 1992
  384.  
  385.    Geomview:
  386.     Repaired ANSI C incompatibilities -- this version compiles
  387.         under Irix 4.0.4.
  388.     Several memory leaks were fixed.
  389.     Don't corrupt memory when new-geometry command is used.
  390.     Avoid crashing when a camera is deleted.
  391.     Bezier patch dicing level is now properly recorded and
  392.         applied to newly loaded Bezier objects.
  393.     Bezier's saved in RenderMan format are written as true patches,
  394.         not polygonal meshes.   Texture coordinates also saved for STBBP's.
  395.     Don't lose commands sent by external modules just before they die.
  396.     Don't continuously redraw the display when camera drawing is on.
  397.     Make hyperbolic translation, which was approximately correct, exact.
  398.     Repair "position", "position-at", "position-toward" commands.
  399.     Fix -b (background color) command-line option.
  400.     Added performance metering (control-T keyboard character).
  401.  
  402.     Libraries:
  403.     New libformsx.a library has some handy FORMS-related functions:
  404.       enabling/disabling objects, reading numbers from input fields, etc.
  405.     
  406.     Maximum Bezier degree is now 12 rather than 6.
  407.     Bounding boxes of Bezier patches now at least fairly meaningful.
  408.  
  409.     Avoid crashing when encountering erroneous OFF files.
  410.  
  411.     Invert the sense of QUAD normals to be consistent with other objects.
  412.  
  413.     Makefile configuration:
  414.     Removed "make lib" warning in multiple-source library directories.
  415.     Ensured that the FORMS library is installed by the time it's needed.
  416.     
  417.     
  418. 1.2.1    September 17, 1992
  419.  
  420.     Fixed a problem with src/lib/forms/Makefile which prevented
  421.     successful compilation on systems that don't already have the
  422.     FORMS library installed.
  423.  
  424.     1.2.1 is not really a new release --- it's just a re-packing
  425.     of the tar file with a new src/lib/forms/Makefile.
  426.  
  427.     [ Details of the problem: modified src/lib/forms/Makefile so
  428.       that it installs libforms.a in bin/sgi upon "make all"
  429.       rather than just "make install".  This is now consistent
  430.       with the way the other .a files are installed, and fixes a
  431.       problem which prevented successful makes on systems that
  432.       don't already have FORMS installed.  In previous releases
  433.       libforms.a was installed by geomview/gl/O.sgi/Makefile
  434.       before it attempted to link geomview; in 1.2, however, the
  435.       "example" program links with libforms.a but doesn't install
  436.       it first.  Since "e" comes before "g", "example" is compiled
  437.       by "make all" before geomview, with the result that the
  438.       compilation fails since libforms.a is not yet in place.
  439.  
  440.       I created geomview-1.2.1.tar.Z by unpacking the 1.2 tar file
  441.       into a fresh dir, replacing the files ./src/lib/forms/Makefile
  442.       and ./CHANGES (this file), and re-packing.  ]
  443.  
  444.  
  445. 1.2    September 4, 1992
  446.  
  447. Panels
  448. ------
  449.  
  450. New iconic tool panel replaces parts of old main panel. 
  451.  
  452. "Zoom" now changes camera field of view: add "scale" to change size of
  453. geometry. (Can also change apparent size by z-translating object or
  454. camera.)
  455.  
  456. Reorganized panels. Camera panel has camera-related things, appearance
  457. panel has geometry-related things. Obscure panel now only has
  458. normalization and space things.
  459.  
  460. Add save panel. Now through user interface can save: Renderman or .sgi
  461. snapshot, text file of commands, geometry, cameras, transforms,
  462. windows for any (or all) objects, and position information for all panels. 
  463.  
  464. Appearance controls now override all lower levels (before if lower
  465. level had appearance of its own it was left unchanged). Added revert
  466. button to appearance panel.
  467.  
  468. New "?" button on main panel same as "?" keyboard shortcut (dumps
  469. keyboard shortcut summary to tty).
  470.  
  471. Add "CSmooth" mode to shading browser of appearance panel.
  472. This is a constant-shaded style (shading depends only on vertex colors, 
  473. not on lighting) but with smooth interpolation where colors vary across
  474. a face.
  475.  
  476.  
  477.  
  478. Keyboard Shortcuts
  479. ------------------
  480.  
  481. Lines-closer shortcut "ac" now also "vc" since it's a per-camera
  482. option at the moment.
  483.  
  484. Add backface culling (only accessible through keyboard toggle "vb"). 
  485.  
  486. "g" keyboard prefix now picks world not most recently picked geometry.
  487.  
  488. "." new prefix for target object, i.e. "self". 
  489.  
  490. "P*" keyboard shortcut to bring up panels. 
  491.  
  492. "[se|sh]" shortcut changed to "[me|mh|ms]". (m for metric since s for
  493. space got taken over by "scale"). 
  494.  
  495. "TV" toggles NTSC video mode.
  496.  
  497. "vs" toggles single vs. double-buffered windows.
  498.  
  499.  
  500. Commands
  501. -------------
  502.  
  503. Add complete help messages for all command language functions and new
  504. commands "?" and "??".
  505.  
  506. The syntax of the write command has changed. See geomview.5.
  507.  
  508. Added position, position-at, position-toward commands. 
  509.  
  510. Added rawevent, winenter, freeze commands (intended for development
  511. not for general use.)
  512.  
  513. External module command name changes:
  514. emodule-define is the new name for ui-emotion-program.
  515. emodule-start is the new name for ui-emotion-run.
  516. emodule-run is the new name for "|".
  517.  
  518. Eliminated ui-emotion-modename: awkward event-shipping to external
  519. modules.  More useful access to functionality that is presently hidden
  520. internally is under development now.
  521.  
  522.  
  523. Motion
  524. -------
  525.  
  526. Totally new motion paradigm. Most old functions are mimicked. New
  527. functionality added. Can now specify a center of motion (orbit mode
  528. used to be camera around center of world: now can be any object
  529. orbiting any other object. See "ui-center" command.). Can specify
  530. rotations and translations in x, y, z instead of a raw 4x4 matrix (see
  531. "transform*" commands).
  532.  
  533. Fly mode changed yet again: now left mouse rotates camera, middle
  534. mouse flies camera forward/backward.
  535.  
  536. Flight Sim mode eliminated.
  537.  
  538.  
  539.  
  540. External Modules
  541. ----------------
  542.  
  543. Distributing external modules separately from geomview proper, except
  544. for a few examples.
  545.  
  546. Added example external module with accompanying tutorial document.
  547.  
  548. Improved handling of external modules; can now run multiple concurrent
  549. modules and can finally terminate them. See command language changes above. 
  550.  
  551. External modules MUST now run in the foreground, lest geomview think they've
  552. died.  FORMS/GL modules need to call foreground().  See emodule-run
  553. documentation in geomview(5).
  554.  
  555. Do a better job of killing off external modules when geomview exits
  556. and suspending them when geomview is suspended.
  557.  
  558. Can now invoke external modules from geomview's command line and can
  559. pass (globbed) parameters through to their command lines.
  560.  
  561.  
  562.  
  563. Geomview general
  564. ----------------
  565.  
  566. Better Renderman support, especially for automated generation of movie
  567. frames. Can specify whether to render directly to framebuffer or to a
  568. tiff disk file. Can give file prefix which is then autoincremented on
  569. each Renderman snapshot. Tiff file name is constructed from rib file
  570. name (used to always be called "image.tiff").
  571.  
  572. Snapshot pops window to prevent obscuration, and redraws in singlebuffered
  573. mode to minimize dithering artifacts, and to avoid a "scrsave" bug which
  574. sometimes caused the previous image to be saved.
  575.  
  576. In hyperbolic mode the camera starts out inside the sphere instead of
  577. outside the sphere, and the bounding sphere is not automatically drawn. 
  578.  
  579. Add spherical space mode.
  580.  
  581. Add new special id's: self, universe, primitive (for coordinate systems).
  582.  
  583. Pick data can be written in any of several coordinate systems.
  584.  
  585. Make picking work on views with dedicated scenes.
  586.  
  587. Better camera geometry for default camera drawn. (Development feature
  588. that may change in the future: uses "cam.oogl" file instead if it
  589. exists.)
  590.  
  591. Number new objects according to their id, so camera c2 == "Camera<2>",
  592. etc.
  593.  
  594.  
  595.  
  596. OOGL
  597. ----
  598.  
  599. Better error detection and recovery in OOGL loading rountines.
  600.  
  601. Added method extension mechanism for geom objects.
  602.  
  603. Various internal reorganizations --- renaming variables, etc.
  604.  
  605. Added support for variable-length arrays (vvec's).
  606.  
  607. Added geom transform methods.
  608.  
  609. Print a useful error message if a camera file can't be found.
  610.  
  611. Fixed binary mesh loading bug; binary meshes now load properly.
  612.  
  613. Fixed bug which caused sometimes-wrong screen z computation associated
  614.    with picking.
  615.  
  616. Fixed picking of closed VECT object.
  617.  
  618. Don't draw VECTs when edge drawing is off.
  619.  
  620. Objects loaded from files are no longer tied to the contents of those files;
  621. the sequence "load object, change file, load other object from same file"
  622. now yields two distinct objects, not two identical copies of the new version.
  623.  
  624. General
  625. -------
  626.  
  627. Made source code more ANSI-compliant.
  628.  
  629. Many optimizations; code runs faster.
  630.  
  631. Fixed bugs assocaited with communication via pipes; close them
  632.  
  633. Fixed bugs associated with reference counting and memory
  634.    allocation and freeing.
  635.  
  636. New configuration setup; more robust
  637.  
  638. Overhaul Makefile structure; rely more on common Makefiles
  639.    referenced via "include"
  640.  
  641. Completely new lisp interpreter; much more general and easier to
  642.   use than previous version.  See the man page man/cat3/lisp.3 for
  643.   details.
  644.  
  645. Fixed various minor bugs.
  646.  
  647.  
  648.  
  649. Known problems:
  650. ---------------
  651. Spherical mode doesn't work on VGXes.
  652.  
  653. Zoom and Scale have no inertia.
  654.  
  655. Constrained motion (to X or Y axis) no longer works.
  656.  
  657. Sometimes core dumps on bad input files.
  658.  
  659. -------------------------------------------------------------------------------
  660. 1.1    May 27 1992
  661.  
  662.     Slightly better documentation; lang.doc renamed geomview.5.
  663.     Four more sample external modules added.
  664.     Control panel settings override objects' own appearances.
  665.  
  666.     Object vertex/edge/face picking (rightmouse), w/command-language feedback.
  667.     New flight-simulator motion mode.
  668.     More state-saving operations, 'write' and 'snapshot' language commands.
  669.     Command-language control over windows & panels (placement, visibility).
  670.     Can save scenes in RenderMan .rib format.
  671.  
  672.     Many bug fixes including:
  673.       Memory should now be freed properly when objects are deleted.
  674.       Code now compiles under IRIX 4.0.1 ANSI C.
  675.       Input panels now accept input properly under 4.0 (input focus bug fixed).
  676.  
  677.     Known problems:
  678.       IRIX 4.0 remote display (DGL) doesn't work; geomview must run on the
  679.     machine where it's displaying.
  680.  
  681. -------------------------------------------------------------------------------
  682. 1.0.1    February 25 1992:    
  683.  
  684.     Miscellaneous minor bug fixes
  685.     Slightly better documentation
  686.  
  687. -------------------------------------------------------------------------------
  688. 1.0    January 31 1992
  689.  
  690.     initial release
  691.  
  692.